<script>
import { mapGetters } from 'vuex';
import { hasPermissionHandle } from '@/config/permission';
export default {
  // 定义属性
  data () {
    return {
      columnsFilterType: ''
    };
  },
  // 计算属性，会监听依赖属性值随之变化
  computed: {
    ...mapGetters({
      rolesName: 'rolesName',
      currentRole: 'currentRole'
    }),
    columnsFilter () {
      // 是否current模式，验证当前角色的权限，还是全部角色的权限
      const showOperation =
        this.columnsFilterType === 'current'
        ? hasPermissionHandle(this.currentRole, `${this.$route.name}.operation`)
        : hasPermissionHandle(this.rolesName, `${this.$route.name}.operation`);
      return this.columns.filter(item =>
        item.prop !== 'operation' ||
        (item.prop === 'operation' && showOperation)
      );
    }
  },
  // 监控data中的数据变化
  watch: {},
  // 方法集合
  methods: {

  },
  // 生命周期 - 创建完成（可以访问当前this实例）
  created () {

  },
  // 生命周期 - 挂载完成（可以访问DOM元素）
  mounted () {

  },
  beforeCreate () {}, // 生命周期 - 创建之前
  beforeMount () {}, // 生命周期 - 挂载之前
  beforeUpdate () {}, // 生命周期 - 更新之前
  updated () {}, // 生命周期 - 更新之后
  beforeDestroy () {}, // 生命周期 - 销毁之前
  destroyed () {}, // 生命周期 - 销毁完成
  activated () {} // 如果页面有keep-alive缓存功能，这个函数会触发
};
</script>

<style lang='less' scoped>

</style>
